package pers.cz.agent;

import pers.cz.transform.*;

import java.lang.instrument.Instrumentation;

/**
 * @program: postgirl-collection-client
 * @description: InterfaceAgent
 * @author: Cheng Zhi
 * @create: 2022-02-08 12:21
 **/
public class InterfaceAgent {
    public static void premain(String agentArgs, Instrumentation inst) {
        System.out.println("=========================================================");
        System.out.println("==     ~~~   PostGirl接口录制客户端启动成功    ~~~     ==");
        System.out.println("=========================================================");
        System.out.println("agentArgs : " + agentArgs);
        // 添加Transformer
        //inst.addTransformer(new InterfaceTransformer());                    // 录制接口出入参
        //inst.addTransformer(new JdbcTransformer());                         // 录制接口sql语句
        //inst.addTransformer(new HttpTransformer());                         // 监听特殊请求
        //inst.addTransformer(new ParamsAndReurnEasyFrameTransformer());       // 监听easyframe方法出入参
        //inst.addTransformer(new ParamsAndReurnMybatisTransformer());        // 录制底层方法出入参
        //inst.addTransformer(new DrqueryTransformer());                         // 测试监听云详单
        inst.addTransformer(new LogForwardTransformer());                         // 实时日志收集
    }
}
